home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 22 / Cream of the Crop 22.iso / os2 / ooxdb200.zip / ooxcharacter.xh < prev    next >
Text File  |  1996-11-13  |  24KB  |  843 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: ooxcharacter.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.17
  7.  *     SOM Emitter emitxh: 2.47
  8.  */
  9.  
  10. #ifndef SOM_ooxcharacter_xh
  11. #define SOM_ooxcharacter_xh
  12.  
  13. class ooxcharacter;
  14.  
  15. /*
  16.  * Symbol parentComment is undefined
  17.  */
  18.  
  19. #define ooxcharacter_MajorVersion 0
  20. #define ooxcharacter_MinorVersion 0
  21.  
  22. /* C++ SOM defs */
  23. #include <somcls.xh>
  24. #include <somcm.xh>
  25.  
  26. /* C++ parent defs */
  27. #ifndef SOM_ooxfield_xh
  28. #include <ooxfield.xh>
  29. #endif
  30.  
  31. #ifndef ooxcharacter_API
  32. #define ooxcharacter_API
  33. /*
  34.  * -- The Class API
  35.  */
  36.  
  37. /*
  38.  * Start of bindings for IDL types
  39.  */
  40.  
  41. class SOMClass;
  42. class SOMObject;
  43.  
  44. /*
  45.  * End of bindings for IDL types.
  46.  */
  47.  
  48. /* A procedure to create the ooxcharacter Class */
  49. SOMEXTERN SOMClass * SOMLINK ooxcharacterNewClass(
  50.         integer4 majorVersion,
  51.         integer4 minorVersion);
  52.  
  53. /* The API to the ooxcharacter class object, and the methods it introduces. */
  54. SOMEXTERN struct ooxcharacterClassDataStructure {
  55.     SOMClass *classObject;
  56.     somMToken define;
  57. } SOMDLINK ooxcharacterClassData;
  58. #define _ooxcharacter ooxcharacterClassData.classObject
  59.  
  60. /* The API to parentMtabs for ooxcharacter, and the instance data it introduces. */
  61. SOMEXTERN struct ooxcharacterCClassDataStructure {
  62.     somMethodTabs parentMtab;
  63.     somDToken              instanceDataToken;
  64. } SOMDLINK ooxcharacterCClassData;
  65.  
  66. /*
  67.  * -- Typedefs for ooxcharacter Method Procedures
  68.  */
  69. SOMEXTERN {
  70. typedef void   SOMLINK somTP_ooxcharacter_define(ooxcharacter *somSelf, 
  71.         somInitCtrl* ctrl, 
  72.         string name, 
  73.         short length);
  74. typedef somTP_ooxcharacter_define *somTD_ooxcharacter_define;
  75.  
  76. /*
  77.  * -- Typedefs for Reintroduced Wrapper Methods
  78.  */
  79. typedef string   SOMLINK somTP_ooxcharacter_get_name(ooxcharacter *somSelf);
  80. typedef somTP_ooxcharacter_get_name *somTD_ooxcharacter_get_name;
  81. typedef string   SOMLINK somTP_ooxcharacter_get(ooxcharacter *somSelf);
  82. typedef somTP_ooxcharacter_get *somTD_ooxcharacter_get;
  83. typedef long   SOMLINK somTP_ooxcharacter_put(ooxcharacter *somSelf, 
  84.         string datum);
  85. typedef somTP_ooxcharacter_put *somTD_ooxcharacter_put;
  86. typedef char   SOMLINK somTP_ooxcharacter_get_type(ooxcharacter *somSelf);
  87. typedef somTP_ooxcharacter_get_type *somTD_ooxcharacter_get_type;
  88. typedef short   SOMLINK somTP_ooxcharacter_get_length(ooxcharacter *somSelf);
  89. typedef somTP_ooxcharacter_get_length *somTD_ooxcharacter_get_length;
  90. typedef short   SOMLINK somTP_ooxcharacter_get_dec_point(ooxcharacter *somSelf);
  91. typedef somTP_ooxcharacter_get_dec_point *somTD_ooxcharacter_get_dec_point;
  92. typedef void   SOMLINK somTP_ooxcharacter_somDefaultInit(ooxcharacter *somSelf, 
  93.         som3InitCtrl* ctrl);
  94. typedef somTP_ooxcharacter_somDefaultInit *somTD_ooxcharacter_somDefaultInit;
  95. typedef void   SOMLINK somTP_ooxcharacter_somUninit(ooxcharacter *somSelf);
  96. typedef somTP_ooxcharacter_somUninit *somTD_ooxcharacter_somUninit;
  97. typedef void   SOMLINK somTP_ooxcharacter_somDestruct(ooxcharacter *somSelf, 
  98.         octet doFree, 
  99.         som3DestructCtrl* ctrl);
  100. typedef somTP_ooxcharacter_somDestruct *somTD_ooxcharacter_somDestruct;
  101. typedef void   SOMLINK somTP_ooxcharacter_somDefaultCopyInit(ooxcharacter *somSelf, 
  102.         som3InitCtrl* ctrl, 
  103.         SOMObject* fromObj);
  104. typedef somTP_ooxcharacter_somDefaultCopyInit *somTD_ooxcharacter_somDefaultCopyInit;
  105. typedef ooxcharacter*   SOMLINK somTP_ooxcharacter_somDefaultAssign(ooxcharacter *somSelf, 
  106.         som3AssignCtrl* ctrl, 
  107.         SOMObject* fromObj);
  108. typedef somTP_ooxcharacter_somDefaultAssign *somTD_ooxcharacter_somDefaultAssign;
  109. typedef void   SOMLINK somTP_ooxcharacter_somDefaultConstCopyInit(ooxcharacter *somSelf, 
  110.         som3InitCtrl* ctrl, 
  111.         SOMObject* fromObj);
  112. typedef somTP_ooxcharacter_somDefaultConstCopyInit *somTD_ooxcharacter_somDefaultConstCopyInit;
  113. typedef void   SOMLINK somTP_ooxcharacter_somDefaultVCopyInit(ooxcharacter *somSelf, 
  114.         som3InitCtrl* ctrl, 
  115.         SOMObject* fromObj);
  116. typedef somTP_ooxcharacter_somDefaultVCopyInit *somTD_ooxcharacter_somDefaultVCopyInit;
  117. typedef void   SOMLINK somTP_ooxcharacter_somDefaultConstVCopyInit(ooxcharacter *somSelf, 
  118.         som3InitCtrl* ctrl, 
  119.         SOMObject* fromObj);
  120. typedef somTP_ooxcharacter_somDefaultConstVCopyInit *somTD_ooxcharacter_somDefaultConstVCopyInit;
  121. typedef ooxcharacter*   SOMLINK somTP_ooxcharacter_somDefaultConstAssign(ooxcharacter *somSelf, 
  122.         som3AssignCtrl* ctrl, 
  123.         SOMObject* fromObj);
  124. typedef somTP_ooxcharacter_somDefaultConstAssign *somTD_ooxcharacter_somDefaultConstAssign;
  125. typedef ooxcharacter*   SOMLINK somTP_ooxcharacter_somDefaultVAssign(ooxcharacter *somSelf, 
  126.         som3AssignCtrl* ctrl, 
  127.         SOMObject* fromObj);
  128. typedef somTP_ooxcharacter_somDefaultVAssign *somTD_ooxcharacter_somDefaultVAssign;
  129. typedef ooxcharacter*   SOMLINK somTP_ooxcharacter_somDefaultConstVAssign(ooxcharacter *somSelf, 
  130.         som3AssignCtrl* ctrl, 
  131.         SOMObject* fromObj);
  132. typedef somTP_ooxcharacter_somDefaultConstVAssign *somTD_ooxcharacter_somDefaultConstVAssign;
  133. typedef void   SOMLINK somTP_ooxcharacter_somInit(ooxcharacter *somSelf);
  134. typedef somTP_ooxcharacter_somInit *somTD_ooxcharacter_somInit;
  135. typedef void   SOMLINK somTP_ooxcharacter_somFree(ooxcharacter *somSelf);
  136. typedef somTP_ooxcharacter_somFree *somTD_ooxcharacter_somFree;
  137. typedef SOMClass*   SOMLINK somTP_ooxcharacter_somGetClass(ooxcharacter *somSelf);
  138. typedef somTP_ooxcharacter_somGetClass *somTD_ooxcharacter_somGetClass;
  139. typedef string   SOMLINK somTP_ooxcharacter_somGetClassName(ooxcharacter *somSelf);
  140. typedef somTP_ooxcharacter_somGetClassName *somTD_ooxcharacter_somGetClassName;
  141. typedef long   SOMLINK somTP_ooxcharacter_somGetSize(ooxcharacter *somSelf);
  142. typedef somTP_ooxcharacter_somGetSize *somTD_ooxcharacter_somGetSize;
  143. typedef boolean   SOMLINK somTP_ooxcharacter_somIsA(ooxcharacter *somSelf, 
  144.         SOMClass* aClassObj);
  145. typedef somTP_ooxcharacter_somIsA *somTD_ooxcharacter_somIsA;
  146. typedef boolean   SOMLINK somTP_ooxcharacter_somIsInstanceOf(ooxcharacter *somSelf, 
  147.         SOMClass* aClassObj);
  148. typedef somTP_ooxcharacter_somIsInstanceOf *somTD_ooxcharacter_somIsInstanceOf;
  149. typedef boolean   SOMLINK somTP_ooxcharacter_somRespondsTo(ooxcharacter *somSelf, 
  150.         somId mId);
  151. typedef somTP_ooxcharacter_somRespondsTo *somTD_ooxcharacter_somRespondsTo;
  152. typedef boolean   SOMLINK somTP_ooxcharacter_somDispatch(ooxcharacter *somSelf, 
  153.         somToken* retValue, 
  154.         somId methodId, 
  155.         va_list ap);
  156. typedef somTP_ooxcharacter_somDispatch *somTD_ooxcharacter_somDispatch;
  157. typedef boolean   SOMLINK somTP_ooxcharacter_somClassDispatch(ooxcharacter *somSelf, 
  158.         SOMClass* clsObj, 
  159.         somToken* retValue, 
  160.         somId methodId, 
  161.         va_list ap);
  162. typedef somTP_ooxcharacter_somClassDispatch *somTD_ooxcharacter_somClassDispatch;
  163. typedef boolean   SOMLINK somTP_ooxcharacter_somCastObj(ooxcharacter *somSelf, 
  164.         SOMClass* cls);
  165. typedef somTP_ooxcharacter_somCastObj *somTD_ooxcharacter_somCastObj;
  166. typedef boolean   SOMLINK somTP_ooxcharacter_somResetObj(ooxcharacter *somSelf);
  167. typedef somTP_ooxcharacter_somResetObj *somTD_ooxcharacter_somResetObj;
  168. typedef void   SOMLINK somTP_ooxcharacter_somDispatchV(ooxcharacter *somSelf, 
  169.         somId methodId, 
  170.         somId descriptor, 
  171.         va_list ap);
  172. typedef somTP_ooxcharacter_somDispatchV *somTD_ooxcharacter_somDispatchV;
  173. typedef long   SOMLINK somTP_ooxcharacter_somDispatchL(ooxcharacter *somSelf, 
  174.         somId methodId, 
  175.         somId descriptor, 
  176.         va_list ap);
  177. typedef somTP_ooxcharacter_somDispatchL *somTD_ooxcharacter_somDispatchL;
  178. typedef void*   SOMLINK somTP_ooxcharacter_somDispatchA(ooxcharacter *somSelf, 
  179.         somId methodId, 
  180.         somId descriptor, 
  181.         va_list ap);
  182. typedef somTP_ooxcharacter_somDispatchA *somTD_ooxcharacter_somDispatchA;
  183. typedef double   SOMLINK somTP_ooxcharacter_somDispatchD(ooxcharacter *somSelf, 
  184.         somId methodId, 
  185.         somId descriptor, 
  186.         va_list ap);
  187. typedef somTP_ooxcharacter_somDispatchD *somTD_ooxcharacter_somDispatchD;
  188. typedef SOMObject*   SOMLINK somTP_ooxcharacter_somPrintSelf(ooxcharacter *somSelf);
  189. typedef somTP_ooxcharacter_somPrintSelf *somTD_ooxcharacter_somPrintSelf;
  190. typedef void   SOMLINK somTP_ooxcharacter_somDumpSelf(ooxcharacter *somSelf, 
  191.         long level);
  192. typedef somTP_ooxcharacter_somDumpSelf *somTD_ooxcharacter_somDumpSelf;
  193. typedef void   SOMLINK somTP_ooxcharacter_somDumpSelfInt(ooxcharacter *somSelf, 
  194.         long level);
  195. typedef somTP_ooxcharacter_somDumpSelfInt *somTD_ooxcharacter_somDumpSelfInt;
  196. }
  197.  
  198. #endif /* ooxcharacter_API */
  199.  
  200.  
  201. /*
  202.  * -- This emitter treats Method Tokens as Thunks by default.
  203.  * -- Use the sc modifier "nothunks" to change this default
  204.  */
  205. #undef somresolve_
  206. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  207.  
  208. /*
  209.  * -- The C++ Wrapper Class for ooxcharacter
  210.  */
  211. class ooxcharacter : public ooxfield
  212. {
  213. /*
  214.  * Symbol parentComment is undefined
  215.  */
  216. public:
  217.  
  218. // ooxcharacter::new creates the class object if necessary, and then uses somNewNoInit
  219. // to allocate memory and create the object. Initialization is in ctors.
  220. void *operator new(size_t)
  221. {
  222.    if (!_ooxcharacter) ooxcharacterNewClass(ooxcharacter_MajorVersion,ooxcharacter_MinorVersion);
  223.    return (void*)
  224.       SOM_Resolve(_ooxcharacter,SOMClass,somNewNoInit)
  225.          ((SOMClass *)((void*)_ooxcharacter));
  226. }
  227.  
  228. // ooxcharacter::delete uses somDestruct.
  229. void operator delete(void * obj)
  230. {
  231.    if (obj && *(void**)obj) {
  232.       SOM_Resolve(obj,SOMObject,somFree)
  233.          ((SOMObject*)obj);
  234.    }
  235. }
  236.  
  237. ooxcharacter& operator=(ooxcharacter& fromObj)
  238. {
  239.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  240.    return *this;
  241. }
  242.  
  243. ooxcharacter()
  244. {
  245.    if (*(void**)this != 
  246.        ((somParentMtabStructPtr)
  247.         (ooxcharacterCClassData.parentMtab))->mtab)
  248.       return;
  249.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  250. }
  251.  
  252. ooxcharacter(ooxcharacter* fromObj)
  253. {
  254.    if (*(void**)this != 
  255.        ((somParentMtabStructPtr)
  256.         (ooxcharacterCClassData.parentMtab))->mtab)
  257.       return;
  258.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  259. }
  260.  
  261. #ifdef __IBMCPP__
  262. #pragma info(nocnv,nopar)
  263. #endif
  264. ooxcharacter(const ooxcharacter* fromObj)
  265. {
  266.    if (*(void**)this != 
  267.        ((somParentMtabStructPtr)
  268.         (ooxcharacterCClassData.parentMtab))->mtab)
  269.       return;
  270.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  271. }
  272. #ifdef __IBMCPP__
  273. #pragma info(restore)
  274. #endif
  275.  
  276. ooxcharacter(string name,short length) 
  277. {
  278.    define(0,name,length);
  279. }
  280.  
  281.  
  282. /* initializer method: define */
  283. void   define(somInitCtrl* ctrl, 
  284.         string name, 
  285.         short length)
  286. {
  287.    SOM_ResolveD(this,ooxcharacter,ooxcharacter,define)
  288.     (this,ctrl,name,length);
  289. }
  290.  
  291.  
  292. /*
  293.  * Reintroduce inherited methods
  294.  */
  295.  
  296. /* method: get_name */
  297. string   get_name()
  298. {
  299.    return SOM_ResolveD(this,ooxcharacter,ooxfield,get_name)
  300.     (this);
  301. }
  302.  
  303.  
  304. /* method: get */
  305. string   get()
  306. {
  307.    return SOM_ResolveD(this,ooxcharacter,ooxfield,get)
  308.     (this);
  309. }
  310.  
  311.  
  312. /* method: put */
  313. long   put(string datum)
  314. {
  315.    return SOM_ResolveD(this,ooxcharacter,ooxfield,put)
  316.     (this,datum);
  317. }
  318.  
  319.  
  320. /* method: get_type */
  321. char   get_type()
  322. {
  323.    return SOM_ResolveD(this,ooxcharacter,ooxfield,get_type)
  324.     (this);
  325. }
  326.  
  327.  
  328. /* method: get_length */
  329. short   get_length()
  330. {
  331.    return SOM_ResolveD(this,ooxcharacter,ooxfield,get_length)
  332.     (this);
  333. }
  334.  
  335.  
  336. /* method: get_dec_point */
  337. short   get_dec_point()
  338. {
  339.    return SOM_ResolveD(this,ooxcharacter,ooxfield,get_dec_point)
  340.     (this);
  341. }
  342.  
  343.  
  344. /* initializer method: somDefaultInit */
  345. void   somDefaultInit(som3InitCtrl* ctrl)
  346. {
  347.    SOM_ResolveD(this,ooxcharacter,SOMObject,somDefaultInit)
  348.     (this,ctrl);
  349. }
  350.  
  351.  
  352. /* method: somUninit */
  353. void   somUninit()
  354. {
  355.    SOM_ResolveD(this,ooxcharacter,SOMObject,somUninit)
  356.     (this);
  357. }
  358.  
  359.  
  360. /* method: somDestruct */
  361. void   somDestruct(octet doFree, 
  362.         som3DestructCtrl* ctrl)
  363. {
  364. /*
  365.  *  The default destructor for a SOM object. A nonzero <doFree>
  366.  *  indicates that the object storage should be freed by the
  367.  *  object's class (via somDeallocate) after uninitialization.
  368.  *  As with somDefaultInit, a null ctrl can be passed.
  369.  */
  370.    SOM_ResolveD(this,ooxcharacter,SOMObject,somDestruct)
  371.     (this,doFree,ctrl);
  372. }
  373.  
  374.  
  375. /* initializer method: somDefaultCopyInit */
  376. void   somDefaultCopyInit(som3InitCtrl* ctrl, 
  377.         SOMObject* fromObj)
  378. {
  379. /*
  380.  *  A default copy constructor. Use this to make copies of objects for
  381.  *  calling methods with "by-value" argument semantics.
  382.  */
  383.    SOM_ResolveD(this,ooxcharacter,SOMObject,somDefaultCopyInit)
  384.     (this,ctrl,fromObj);
  385. }
  386.  
  387.  
  388. /* method: somDefaultAssign */
  389. ooxcharacter*  somDefaultAssign(som3AssignCtrl* ctrl, 
  390.         SOMObject* fromObj)
  391. {
  392. /*
  393.  *  A default assignment operator. Use this to "assign" the state of one
  394.  *  object to another.
  395.  */
  396.    return SOM_ResolveD(this,ooxcharacter,SOMObject,somDefaultAssign)
  397.     (this,ctrl,fromObj);
  398. }
  399.  
  400.  
  401. /* initializer method: somDefaultConstCopyInit */
  402. void   somDefaultConstCopyInit(som3InitCtrl* ctrl, 
  403.         SOMObject* fromObj)
  404. {
  405. /*
  406.  *  A default copy constructor that uses a const fromObj.
  407.  */
  408.    SOM_ResolveD(this,ooxcharacter,SOMObject,somDefaultConstCopyInit)
  409.     (this,ctrl,fromObj);
  410. }
  411.  
  412.  
  413. /* initializer method: somDefaultVCopyInit */
  414. void   somDefaultVCopyInit(som3InitCtrl* ctrl, 
  415.         SOMObject* fromObj)
  416. {
  417. /*
  418.  *  A default copy constructor that uses a volatile fromObj.
  419.  */
  420.    SOM_ResolveD(this,ooxcharacter,SOMObject,somDefaultVCopyInit)
  421.     (this,ctrl,fromObj);
  422. }
  423.  
  424.  
  425. /* initializer method: somDefaultConstVCopyInit */
  426. void   somDefaultConstVCopyInit(som3InitCtrl* ctrl, 
  427.         SOMObject* fromObj)
  428. {
  429. /*
  430.  *  A default copy constructor that uses a const volatile fromObj.
  431.  */
  432.    SOM_ResolveD(this,ooxcharacter,SOMObject,somDefaultConstVCopyInit)
  433.     (this,ctrl,fromObj);
  434. }
  435.  
  436.  
  437. /* method: somDefaultConstAssign */
  438. ooxcharacter*  somDefaultConstAssign(som3AssignCtrl* ctrl, 
  439.         SOMObject* fromObj)
  440. {
  441. /*
  442.  *  A default assignment operator that uses a const fromObj.
  443.  */
  444.    return SOM_ResolveD(this,ooxcharacter,SOMObject,somDefaultConstAssign)
  445.     (this,ctrl,fromObj);
  446. }
  447.  
  448.  
  449. /* method: somDefaultVAssign */
  450. ooxcharacter*  somDefaultVAssign(som3AssignCtrl* ctrl, 
  451.         SOMObject* fromObj)
  452. {
  453. /*
  454.  *  A default assignment operator that uses a volatile fromObj.
  455.  */
  456.    return SOM_ResolveD(this,ooxcharacter,SOMObject,somDefaultVAssign)
  457.     (this,ctrl,fromObj);
  458. }
  459.  
  460.  
  461. /* method: somDefaultConstVAssign */
  462. ooxcharacter*  somDefaultConstVAssign(som3AssignCtrl* ctrl, 
  463.         SOMObject* fromObj)
  464. {
  465. /*
  466.  *  A default assignment operator that uses a const volatile fromObj.
  467.  */
  468.    return SOM_ResolveD(this,ooxcharacter,SOMObject,somDefaultConstVAssign)
  469.     (this,ctrl,fromObj);
  470. }
  471.  
  472.  
  473. /* method: somInit */
  474. void   somInit()
  475. {
  476. /*
  477.  *  Obsolete but still supported. Override somDefaultInit instead of somInit.
  478.  */
  479.    SOM_ResolveD(this,ooxcharacter,SOMObject,somInit)
  480.     (this);
  481. }
  482.  
  483.  
  484. /* method: somFree */
  485. void   somFree()
  486. {
  487. /*
  488.  *  Use as directed by framework implementations.
  489.  */
  490.    SOM_ResolveD(this,ooxcharacter,SOMObject,somFree)
  491.     (this);
  492. }
  493.  
  494.  
  495. /* method: somGetClass */
  496. SOMClass*   somGetClass()
  497. {
  498. /*
  499.  *  Return the receiver's class.
  500.  */
  501.    return SOM_ResolveD(this,ooxcharacter,SOMObject,somGetClass)
  502.     (this);
  503. }
  504.  
  505.  
  506. /* method: somGetClassName */
  507. string   somGetClassName()
  508. {
  509. /*
  510.  *  Return the name of the receiver's class.
  511.  */
  512.    return SOM_ResolveD(this,ooxcharacter,SOMObject,somGetClassName)
  513.     (this);
  514. }
  515.  
  516.  
  517. /* method: somGetSize */
  518. long   somGetSize()
  519. {
  520. /*
  521.  *  Return the size of the receiver.
  522.  */
  523.    return SOM_ResolveD(this,ooxcharacter,SOMObject,somGetSize)
  524.     (this);
  525. }
  526.  
  527.  
  528. /* method: somIsA */
  529. boolean   somIsA(SOMClass* aClassObj)
  530. {
  531. /*
  532.  *  Returns 1 (true) if the receiver responds to methods
  533.  *  introduced by <aClassObj>, and 0 (false) otherwise.
  534.  */
  535.    return SOM_ResolveD(this,ooxcharacter,SOMObject,somIsA)
  536.     (this,aClassObj);
  537. }
  538.  
  539.  
  540. /* method: somIsInstanceOf */
  541. boolean   somIsInstanceOf(SOMClass* aClassObj)
  542. {
  543. /*
  544.  *  Returns 1 (true) if the receiver is an instance of
  545.  *  <aClassObj> and 0 (false) otherwise.
  546.  */
  547.    return SOM_ResolveD(this,ooxcharacter,SOMObject,somIsInstanceOf)
  548.     (this,aClassObj);
  549. }
  550.  
  551.  
  552. /* method: somRespondsTo */
  553. boolean   somRespondsTo(somId mId)
  554. {
  555. /*
  556.  *  Returns 1 (true) if the indicated method can be invoked
  557.  *  on the receiver and 0 (false) otherwise.
  558.  */
  559.    return SOM_ResolveD(this,ooxcharacter,SOMObject,somRespondsTo)
  560.     (this,mId);
  561. }
  562.  
  563.  
  564. /* va_list method: somDispatch */
  565.  
  566. /*
  567.  *  This method provides a generic, class-specific dispatch mechanism.
  568.  *  It accepts as input <retValue> a pointer to the memory area to be
  569.  *  loaded with the result of dispatching the method indicated by
  570.  *  <methodId> using the arguments in <ap>. <ap> contains the object
  571.  *  on which the method is to be invoked as the first argument.
  572.  */
  573. /* the va_list invocation form */
  574. boolean   ooxcharacter_somDispatch(somToken* retValue, 
  575.         somId methodId, 
  576.         va_list ap)
  577. {return SOM_ResolveD(this,ooxcharacter,SOMObject,somDispatch)
  578.     (this,retValue,methodId,ap);
  579. }
  580.  
  581. /* the varargs invocation form */
  582. boolean   somDispatch(somToken* retValue, 
  583.         somId methodId, 
  584.         ...)
  585. {
  586. /*
  587.  *  This method provides a generic, class-specific dispatch mechanism.
  588.  *  It accepts as input <retValue> a pointer to the memory area to be
  589.  *  loaded with the result of dispatching the method indicated by
  590.  *  <methodId> using the arguments in <ap>. <ap> contains the object
  591.  *  on which the method is to be invoked as the first argument.
  592.  */
  593.    va_list ap;
  594.    va_start(ap, methodId);
  595.    boolean __somResult = 
  596.       SOM_ResolveD(this,ooxcharacter,SOMObject,somDispatch)
  597.     (this,retValue,methodId,ap);
  598.    va_end(ap);
  599.    return __somResult;
  600. }
  601.  
  602.  
  603. /* va_list method: somClassDispatch */
  604.  
  605. /*
  606.  *  Like somDispatch, but method resolution for static methods is done
  607.  *  according to the clsObj instance method table.
  608.  */
  609. /* the va_list invocation form */
  610. boolean   ooxcharacter_somClassDispatch(SOMClass* clsObj, 
  611.         somToken* retValue, 
  612.         somId methodId, 
  613.         va_list ap)
  614. {return SOM_ResolveD(this,ooxcharacter,SOMObject,somClassDispatch)
  615.     (this,clsObj,retValue,methodId,ap);
  616. }
  617.  
  618. /* the varargs invocation form */
  619. boolean   somClassDispatch(SOMClass* clsObj, 
  620.         somToken* retValue, 
  621.         somId methodId, 
  622.         ...)
  623. {
  624. /*
  625.  *  Like somDispatch, but method resolution for static methods is done
  626.  *  according to the clsObj instance method table.
  627.  */
  628.    va_list ap;
  629.    va_start(ap, methodId);
  630.    boolean __somResult = 
  631.       SOM_ResolveD(this,ooxcharacter,SOMObject,somClassDispatch)
  632.     (this,clsObj,retValue,methodId,ap);
  633.    va_end(ap);
  634.    return __somResult;
  635. }
  636.  
  637.  
  638. /* method: somCastObj */
  639. boolean   somCastObj(SOMClass* cls)
  640. {
  641. /*
  642.  *  cast the receiving object to cls (which must be an ancestor of the
  643.  *  objects true class. Returns true on success.
  644.  */
  645.    return SOM_ResolveD(this,ooxcharacter,SOMObject,somCastObj)
  646.     (this,cls);
  647. }
  648.  
  649.  
  650. /* method: somResetObj */
  651. boolean   somResetObj()
  652. {
  653. /*
  654.  *  reset an object to its true class. Returns true always.
  655.  */
  656.    return SOM_ResolveD(this,ooxcharacter,SOMObject,somResetObj)
  657.     (this);
  658. }
  659.  
  660.  
  661. /* va_list method: somDispatchV */
  662.  
  663. /*
  664.  *  Obsolete. Use somDispatch instead.
  665.  */
  666. /* the va_list invocation form */
  667. void   ooxcharacter_somDispatchV(somId methodId, 
  668.         somId descriptor, 
  669.         va_list ap)
  670. {   SOM_ResolveD(this,ooxcharacter,SOMObject,somDispatchV)
  671.     (this,methodId,descriptor,ap);
  672. }
  673.  
  674. /* the varargs invocation form */
  675. void   somDispatchV(somId methodId, 
  676.         somId descriptor, 
  677.         ...)
  678. {
  679. /*
  680.  *  Obsolete. Use somDispatch instead.
  681.  */
  682.    va_list ap;
  683.    va_start(ap, descriptor);
  684.    SOM_ResolveD(this,ooxcharacter,SOMObject,somDispatchV)
  685.     (this,methodId,descriptor,ap);
  686.    va_end(ap);
  687. }
  688.  
  689.  
  690. /* va_list method: somDispatchL */
  691.  
  692. /*
  693.  *  Obsolete. Use somDispatch instead.
  694.  */
  695. /* the va_list invocation form */
  696. long   ooxcharacter_somDispatchL(somId methodId, 
  697.         somId descriptor, 
  698.         va_list ap)
  699. {return SOM_ResolveD(this,ooxcharacter,SOMObject,somDispatchL)
  700.     (this,methodId,descriptor,ap);
  701. }
  702.  
  703. /* the varargs invocation form */
  704. long   somDispatchL(somId methodId, 
  705.         somId descriptor, 
  706.         ...)
  707. {
  708. /*
  709.  *  Obsolete. Use somDispatch instead.
  710.  */
  711.    va_list ap;
  712.    va_start(ap, descriptor);
  713.    long __somResult = 
  714.       SOM_ResolveD(this,ooxcharacter,SOMObject,somDispatchL)
  715.     (this,methodId,descriptor,ap);
  716.    va_end(ap);
  717.    return __somResult;
  718. }
  719.  
  720.  
  721. /* va_list method: somDispatchA */
  722.  
  723. /*
  724.  *  Obsolete. Use somDispatch instead.
  725.  */
  726. /* the va_list invocation form */
  727. void*   ooxcharacter_somDispatchA(somId methodId, 
  728.         somId descriptor, 
  729.         va_list ap)
  730. {return SOM_ResolveD(this,ooxcharacter,SOMObject,somDispatchA)
  731.     (this,methodId,descriptor,ap);
  732. }
  733.  
  734. /* the varargs invocation form */
  735. void*   somDispatchA(somId methodId, 
  736.         somId descriptor, 
  737.         ...)
  738. {
  739. /*
  740.  *  Obsolete. Use somDispatch instead.
  741.  */
  742.    va_list ap;
  743.    va_start(ap, descriptor);
  744.    void* __somResult = 
  745.       SOM_ResolveD(this,ooxcharacter,SOMObject,somDispatchA)
  746.     (this,methodId,descriptor,ap);
  747.    va_end(ap);
  748.    return __somResult;
  749. }
  750.  
  751.  
  752. /* va_list method: somDispatchD */
  753.  
  754. /*
  755.  *  Obsolete. Use somDispatch instead.
  756.  */
  757. /* the va_list invocation form */
  758. double   ooxcharacter_somDispatchD(somId methodId, 
  759.         somId descriptor, 
  760.         va_list ap)
  761. {return SOM_ResolveD(this,ooxcharacter,SOMObject,somDispatchD)
  762.     (this,methodId,descriptor,ap);
  763. }
  764.  
  765. /* the varargs invocation form */
  766. double   somDispatchD(somId methodId, 
  767.         somId descriptor, 
  768.         ...)
  769. {
  770. /*
  771.  *  Obsolete. Use somDispatch instead.
  772.  */
  773.    va_list ap;
  774.    va_start(ap, descriptor);
  775.    double __somResult = 
  776.       SOM_ResolveD(this,ooxcharacter,SOMObject,somDispatchD)
  777.     (this,methodId,descriptor,ap);
  778.    va_end(ap);
  779.    return __somResult;
  780. }
  781.  
  782.  
  783. /* method: somPrintSelf */
  784. SOMObject*   somPrintSelf()
  785. {
  786. /*
  787.  *  Uses <SOMOutCharRoutine> to write a brief string with identifying
  788.  *  information about this object.  The default implementation just gives
  789.  *  the object's class name and its address in memory.
  790.  *  <self> is returned.
  791.  */
  792.    return SOM_ResolveD(this,ooxcharacter,SOMObject,somPrintSelf)
  793.     (this);
  794. }
  795.  
  796.  
  797. /* method: somDumpSelf */
  798. void   somDumpSelf(long level)
  799. {
  800. /*
  801.  *  Uses <SOMOutCharRoutine> to write a detailed description of this object
  802.  *  and its current state.
  803.  * 
  804.  *  <level> indicates the nesting level for describing compound objects
  805.  *  it must be greater than or equal to zero.  All lines in the
  806.  *  description will be preceeded by <2*level> spaces.
  807.  * 
  808.  *  This routine only actually writes the data that concerns the object
  809.  *  as a whole, such as class, and uses <somDumpSelfInt> to describe
  810.  *  the object's current state.  This approach allows readable
  811.  *  descriptions of compound objects to be constructed.
  812.  * 
  813.  *  Generally it is not necessary to override this method, if it is
  814.  *  overriden it generally must be completely replaced.
  815.  */
  816.    SOM_ResolveD(this,ooxcharacter,SOMObject,somDumpSelf)
  817.     (this,level);
  818. }
  819.  
  820.  
  821. /* method: somDumpSelfInt */
  822. void   somDumpSelfInt(long level)
  823. {
  824. /*
  825.  *  Uses <SOMOutCharRoutine> to write in the current state of this object.
  826.  *  Generally this method will need to be overridden.  When overriding
  827.  *  it, begin by calling the parent class form of this method and then
  828.  *  write in a description of your class's instance data. This will
  829.  *  result in a description of all the object's instance data going
  830.  *  from its root ancestor class to its specific class.
  831.  */
  832.    SOM_ResolveD(this,ooxcharacter,SOMObject,somDumpSelfInt)
  833.     (this,level);
  834. }
  835.  
  836.  
  837.  
  838. };   /* ooxcharacter */
  839.  
  840.  
  841.  
  842. #endif       /* SOM_ooxcharacter_xh */
  843.